package com.sgroup.studycountry.application.service;

import com.sgroup.studycountry.application.dto.UserInput;
import com.sgroup.studycountry.domain.model.User;

/**
 * 用户服务接口
 *
 * @author umi
 * @date 2021/10/27 19:30
 */
public interface IUserService {
    /**
     * 添加用户
     *
     * @param input 用户信息
     * @return 添加的用户
     */
    User insert(UserInput input);

    /**
     * 更新用户
     *
     * @param id    用户id
     * @param input 用户信息
     * @return 更改的用户
     */
    User update(String id, UserInput input);

    /**
     * 通过id删除用户
     *
     * @param id 用户id
     * @return true
     */
    boolean delete(String id);

    /**
     * 通过id查找用户
     *
     * @param id 用户id
     * @return 查找用户id
     */
    User getById(String id);

    /**
     * 根据手机号码查找用户
     * @param phoneNumber 手机号码
     * @return 对应的用户
     */
    User getByPhoneNumber(String phoneNumber);

    /**
     * 登录验证密码
     * @param phoneNumber 手机号码
     * @param password 输入的密码
     */
    void login(String phoneNumber, String password);
}
